#pragma once

struct Buffer
{
	Buffer()
		:pointer(NULL)
		,size(0)
	{

	}	

	void* pointer;
	size_t size;
};

struct I_Io
{
	virtual ~I_Io(){}
	virtual size_t Read(void* data, size_t size) = 0;
	virtual size_t Write(void* data, size_t size) = 0;
	virtual void TransmitFile(wxtl::File* file, size_t bytesToWrite, Buffer* head, Buffer* tail) = 0;
};